A technique of implementing a transaction function on the NoSQL database which does not support transaction has been known. For example, the Non-patent Literature Large-scale Incremental Processing Using Distributed Transactions and Notifications discloses a percolator which is a system for sequentially updating a large data set. In addition, the Non-patent Literature MongoDB transaction example discloses adding an “updated” field which indicates a version of an object changed during transaction, to a model including a “value” field.
It should be noted that a technique of managing a state of transaction is also known as a technique disclosed in the prior art. For instance, Japanese Patent JP05-289921A discloses a technique of storing update data to which commitment information different for each transaction is added in response to a request for updating a database, eliminating commitment information from update data to be committed in response to a commitment request, searching committed data in response to a request for display from a user, searching update data before the commitment and in the transaction, searching update data before the commitment and in other transaction, and outputting these search results to a display apparatus using display methods different from each other.
Also, Japanese Patent JP2009-26334A discloses a technique of providing a plurality of data holding means for insertion and a plurality of data holding means for deletion, the data holding means for insertion and the data holding means for deletion performing processing of changing data at high speed, and data holding unit managing means holding classification of unused, being used, committed, and being transferred, along with identifiers of corresponding transaction for the data holding means for insertion and the data holding means for deletion.
Further, Japanese Patent JP2013-33345A discloses a technique of preparing a management map in which a key is a global transaction ID, and a value is {a state of transaction, a global transaction ID of transaction for which end is waited}, starting local transaction for management on a server which manages the key of the management map during process of starting global transaction, and starting local transaction for waiting for release of a lock on the server which manages the key of the management map during process for waiting for end of the global translation, so as to wait for end of competing transaction.
International Application WO2011/099082 discloses a technique in which a first storage unit stores a log of updating processing through transaction, a second storage unit stores update information indicating that data has been updated in association with a transaction ID when an updating unit updates the data, and a restoring unit determines whether or not update information of data to be searched exists in the second storage unit when a searching unit performs search, and, if the update information exists, reads out transaction which has updated the data from the first storage unit and performs restoration processing of the data.